package com.intlke.example.app.dao.mapper;

import com.intlke.example.app.dao.persistence.Example;
import org.apache.ibatis.annotations.Param;

import java.io.Serializable;
import java.util.List;

/**
 * <p>描述:</p>
 * <p>请在此处填写描述</p>
 *
 * @author fengwenping
 * @version 1.0.0
 * @since 2024/11/10 21:40
 */
public interface BaseMapper<T, ID extends Serializable> {

    long countByExample(Example example);

    int deleteByExample(Example example);

    int deleteByPrimaryKey(ID id);

    int insert(T row);

    int insertSelective(T row);

    List<T> selectByExample(Example example);

    T selectByPrimaryKey(ID id);

    int updateByExampleSelective(@Param("row") T row, @Param("example") Example example);

    int updateByExample(@Param("row") T row, @Param("example") Example example);

    int updateByPrimaryKeySelective(T row);

    int updateByPrimaryKey(T row);
}
